package com.williams.myo2o.util;

import javax.servlet.http.HttpServletRequest;

/**
 * @auther williams
 * @create-time 2018-07-29-下午9:55
 */

/**request.getParameter得到的都是String类型的。它是用于读取提交的表单中的值（http://a.jsp?id=123中的123），或者是某个表单提交过去的数据； */

public class HttpServletRequestUtil {
    //getInt 方法的作用就是从提交的 request 中提取 key，
    //因为 getParameter 提取到的是 String 类型，Integer.decode()方法可以将 String　类型转成整型

    public static int getInt(HttpServletRequest request, String key) {
        try {
            return Integer.decode(request.getParameter(key));
        } catch (Exception e) {
            return -1;
        }
    }

    //Long.valueOf()方法可以将 String　类型转成长整型

    public static long getLong(HttpServletRequest request, String key) {
        try {
            return Long.valueOf(request.getParameter(key));
        } catch (Exception e) {
            return -1L;
        }
    }

    public static double getDouble(HttpServletRequest request, String key) {
        try {
            return Double.valueOf(request.getParameter(key));
        } catch (Exception e) {
            return -1d;
        }
    }

    public static boolean getBoolean(HttpServletRequest request, String key) {
        try {
            return Boolean.valueOf(request.getParameter(key));
        } catch (Exception e) {
            return false;
        }
    }

    //如果 key 读取出来的结果不为空，给这个 String 类型的值去掉两边的引号 ""

    public static String getString(HttpServletRequest request, String key) {
        try {
            String result = request.getParameter(key);
            if (result != null) {
                result = result.trim();
            }
            if ("".equals(result)) {
                result = null;
            }
            return result;
        } catch (Exception e) {
            return null;
        }
    }
}
